# Blacklist everything
/*

# whitelist the necessary files and folders, this gets everything from inside them too
!.gitignore
!.gitmodules
!README.md
!hw_handoff/
!proj/
!repo/
!sdk/
!src/

#Digilent Added ignore rules for Vivado projects

# sdk exclusions
sdk/.metadata
sdk/**/*RemoteSystemsTempFiles
sdk/**/*Debug/*
sdk/**/*Release
sdk/**/*webtalk
sdk/.sdk
sdk/*.log

# ignore everything in the hw_platform
sdk/*hw_platform*/*
# except
!sdk/*hw_platform*/*.hdf
!sdk/*hw_platform*/.*project

# ignore everything in the BSP
sdk/*_bsp*/*
# except
!sdk/*_bsp*/system.mss
!sdk/*_bsp*/Makefile
!sdk/*_bsp*/.*project

# include the relevant elf files
!sdk/**/*Debug/*.elf
!sdk/**/*Debug/*.elf.size

# Make sure we keep only xci files in repo ip src subfolder
repo/*/ip/*/src/*/*
# Ignore 'generated_ip' directory inside repo/ip
repo/*/ip/*/generated_ip
!repo/*/ip/*/src/*/
!repo/*/ip/*/src/*/*.xci
!repo/*/ip/*/src/*/*.patch
!repo/*/ip/*/src/*/*.tcl

# Make sure we keep only xci files in ip src subfolder
src/ip/*/**
!src/ip/*/*.xci
!src/ip/*/*.prj

# Do not ignore anything in src/others
!src/others/*

# Do not ignore block diagram files
!src/bd/**

# Do not ignore cached IP blocks (under test for potential runtime performance gains)
!repo/cache
repo/cache/**

# ignore everything in project folder
proj/*
# except this file and project generators
!proj/create_project.tcl
!proj/cleanup.cmd
!proj/cleanup.sh
!proj/release.py

# keep the empty folders
!/**/.keep